<!--  -->
<template>
  <div class="home-index">
    <div class="top-bg" :style="topBg"></div>
    <!-- 子传父②:父组件使用v-on绑定事件,接受数据-->
    <!-- 首页轮播的组件swiper -->
    <IndexSwiper @toIndexEvent="getIndexFun" :showFlag="showFlag" />
    <!-- 快捷导航 -->
    <IndexQuicknav />
    <!-- 广告图片 -->
    <div class="show-news">
      <img :src="newsImg" alt="" />
    </div>
    <!-- 秒杀组件 -->
    <IndexSeckill />
    <!-- 商品列表 -->
    <IndexList />
  </div>
</template>

<script>
//这里可以导入其他文件（比如：组件，工具js，第三方插件js，json文件，图片文件等等）
//例如：import 《组件名称》 from '《组件路径》';
import IndexSwiper from "./IndexSwiper.vue";
import IndexQuicknav from "./IndexQuicknav.vue";
import IndexSeckill from "./IndexSeckill.vue";
import IndexList from "./IndexList.vue";
export default {
  //import引入的组件需要注入到对象中才能使用
  components: { IndexSwiper, IndexQuicknav, IndexSeckill, IndexList },
  data() {
    //这里存放数据
    return {
      topBg: { background: "rgb(228, 49, 36)" },
      bgColorArr: [
        { background: "rgb(228, 49, 36)" },
        { background: "rgb(60, 129, 255)" },
        { background: "rgb(2, 131, 121)" },
      ],
      newsImg:
        "https://x.dscmall.cn/storage/data/gallery_album/original_img/CPvH5WHHbF0EoG9XjRQbbT3knMVCeEt9DlYGQhJM.png",
    };
  },
  //计算属性 类似于data概念
  computed: {},
  //监控data中的数据变化
  watch: {},
  props: ["showFlag"],
  //方法集合
  methods: {
    getIndexFun(index) {
      this.topBg = this.bgColorArr[index];
      // 子传父
      this.$emit("bgEvent", this.topBg);
    },
  },
  beforeCreate() {}, //生命周期 - 创建之前
  //生命周期 - 创建完成（可以访问当前this实例）
  created() {},
  beforeMount() {}, //生命周期 - 挂载之前
  //生命周期 - 挂载完成（可以访问DOM元素）
  mounted() {},
  beforeUpdate() {}, //生命周期 - 更新之前
  updated() {}, //生命周期 - 更新之后
  beforeDestroy() {}, //生命周期 - 销毁之前
  destroyed() {}, //生命周期 - 销毁完成
  activated() {}, //如果页面有keep-alive缓存功能，激活
  deactivated() {}, //如果页面有keep-alive缓存功能，非激活
};
</script>
<style lang="less">
.home-index {
  .top-bg {
    width: 100%;
    height: 5rem;
    border-radius: 0 0 2rem 2rem;
    background-color: rgb(228, 49, 36);
    position: relative;
    top: 0;
    left: 0;
  }
  .show-news {
    width: calc(100% - 2rem);
    margin: 1rem;
    img {
      width: 100%;
    }
  }
}
</style>